From 56a738f7ff3f685619b280153f52d4b25177f97a Mon Sep 17 00:00:00 2001 From: "emellor@ewan" Date: Mon, 10 Oct 2005 14:42:38 +0100 Subject: [PATCH] Added error logging to the block hotplug script, and support facilities for that. Signed-off-by: Ewan Mellor --- tools/examples/Makefile | 1 + tools/examples/block | 13 ++++++------- tools/examples/xen-hotplug-common.sh | 26 ++++++++++++++++++++++++++ 3 files changed, 33 insertions(+), 7 deletions(-) create mode 100644 tools/examples/xen-hotplug-common.sh diff --git a/tools/examples/Makefile b/tools/examples/Makefile index e09a35a8ac..83a9f7c101 100644 --- a/tools/examples/Makefile +++ b/tools/examples/Makefile @@ -24,6 +24,7 @@ XEN_SCRIPTS += network-route vif-route XEN_SCRIPTS += network-nat vif-nat XEN_SCRIPTS += block XEN_SCRIPTS += block-enbd +XEN_SCRIPTS += xen-hotplug-common.sh XEN_HOTPLUG_DIR = /etc/hotplug XEN_HOTPLUG_SCRIPTS = xen-backend.agent diff --git a/tools/examples/block b/tools/examples/block index 4fec0d6597..2e383bb3a6 100644 --- a/tools/examples/block +++ b/tools/examples/block @@ -1,8 +1,7 @@ #!/bin/sh -set -e - -export PATH=/sbin:/bin:/usr/bin:/usr/sbin:$PATH +dir=$(dirname "$0") +. "$dir/xen-hotplug-common.sh" expand_dev() { local dev @@ -25,15 +24,15 @@ write_dev() { major=$(stat -L -c %t "$1") minor=$(stat -L -c %T "$1") pdev=$(printf "0x%02x%02x" 0x$major 0x$minor) - xenstore-write "$XENBUS_PATH"/physical-device $pdev \ + xenstore_write "$XENBUS_PATH"/physical-device $pdev \ "$XENBUS_PATH"/node $1 } -t=$(xenstore-read "$XENBUS_PATH"/type) +t=$(xenstore_read "$XENBUS_PATH"/type || true) case $1 in bind) - p=$(xenstore-read "$XENBUS_PATH"/params) + p=$(xenstore_read "$XENBUS_PATH"/params) case $t in phy) dev=$(expand_dev $p) @@ -60,7 +59,7 @@ case $1 in ;; unbind) - node=$(xenstore-read "$XENBUS_PATH"/node) + node=$(xenstore_read "$XENBUS_PATH"/node) case $t in phy) exit 0 diff --git a/tools/examples/xen-hotplug-common.sh b/tools/examples/xen-hotplug-common.sh new file mode 100644 index 0000000000..b1e1be6275 --- /dev/null +++ b/tools/examples/xen-hotplug-common.sh @@ -0,0 +1,26 @@ +set -e + +export PATH=/sbin:/bin:/usr/bin:/usr/sbin:$PATH + +log() { + local level="$1" + shift + logger -p "daemon.$level" -- "$0:" "$@" || echo "$0 $@" >&2 +} + +xenstore_read() { + local v=$(xenstore-read "$XENBUS_PATH"/type || true) + if [ "$v" == "" ] + then + log error "xenstore-read $XENBUS_PATH/type failed." + exit 1 + fi + echo "$v" +} + +xenstore_write() { + log debug "Writing $@ to xenstore." + xenstore-write "$@" || log error "Writing $@ to xenstore failed." +} + +log debug "$@" "XENBUS_PATH=$XENBUS_PATH" -- 2.30.2